var oldpassword = null;
var newpassword = null;
var rnewpassword = null;
var saveBtn = null;

$(function () {
    oldpassword = $("#oldpassword");
    newpassword = $("#newpassword");
    rnewpassword = $("#rnewpassword");
    saveBtn = $("#save");

    oldpassword.next().html("*");
    newpassword.next().html("*");
    rnewpassword.next().html("*");

    /*
       .on代表监听事件，这里监听的是blur事件，也就是说光标离开旧密码输入框时会执行下面的逻辑
     */
    oldpassword.on("blur", function () {
        $.ajax({
            type: "GET",
            url: path + "/jsp/user.do",
            data: {method: "pwdModify", oldPassword: oldpassword.val()},
            // 等价于path+/jsp/user.do?method=pwdmodify&oldpassword=oldpassword.val()
            dataType: "json",
            success: function (data) {
                if (data.result == "true") {//旧密码正确
                    validateTip(oldpassword.next(), {"color": "green"}, imgYes, true);
                } else if (data.result == "false") {//旧密码输入不正确
                    validateTip(oldpassword.next(), {"color": "red"}, imgNo + " 原密码输入不正确", false);
                } else if (data.result == "sessionInvalid") {//当前用户session过期，请重新登录
                    validateTip(oldpassword.next(), {"color": "red"}, imgNo + " 当前用户session过期，请重新登录", false);
                } else if (data.result == "empty") {//旧密码输入为空
                    validateTip(oldpassword.next(), {"color": "red"}, imgNo + " 请输入旧密码", false);
                }
            },
            error: function (data) {
                //请求出错
                validateTip(oldpassword.next(), {"color": "red"}, imgNo + " 请求错误", false);
            }
        });


    }).on("focus", function () { // 这是代表光标聚集旧密码输入框时的逻辑
        validateTip(oldpassword.next(), {"color": "#666666"}, "* 请输入原密码", false);
    });

    newpassword.on("focus", function () {
        validateTip(newpassword.next(), {"color": "#666666"}, "* 密码长度必须是大于等于6小于20", false);
    }).on("blur", function () {
        if (newpassword.val() != null && newpassword.val().length >= 6
            && newpassword.val().length < 20) {
            validateTip(newpassword.next(), {"color": "green"}, imgYes, true);
        } else {
            validateTip(newpassword.next(), {"color": "red"}, imgNo + " 密码输入不符合规范，请重新输入", false);
        }
    });


    rnewpassword.on("focus", function () {
        validateTip(rnewpassword.next(), {"color": "#666666"}, "* 请输入与上面一致的密码", false);
    }).on("blur", function () {
        if (rnewpassword.val() != null && rnewpassword.val().length >= 6
            && rnewpassword.val().length < 20 && newpassword.val() == rnewpassword.val()) {
            validateTip(rnewpassword.next(), {"color": "green"}, imgYes, true);
        } else {
            validateTip(rnewpassword.next(), {"color": "red"}, imgNo + " 两次密码输入不一致，请重新输入", false);
        }
    });


    saveBtn.on("click", function () {
        // 相当于让光标离开旧密码、新密码、确认密码的输入框
        oldpassword.blur();
        newpassword.blur();
        rnewpassword.blur();


        if (oldpassword.attr("validateStatus") == "true" &&
            newpassword.attr("validateStatus") == "true"
            && rnewpassword.attr("validateStatus") == "true") {
            // if (confirm("确定要修改密码？")) {
            //     $("#userForm").submit();
            // }

            // 修改为
            Swal.fire({// 用于定义对话框的属性和行为。
                title: '确认修改密码吗？',
                text: "您将要修改登录密码，请确认操作！",
                icon: 'question', // 设置弹话框的图标
                showCancelButton: true,// 启用取消按钮，允许用户通过点击取消按钮来关闭对话框而不进行任何操作。
                confirmButtonColor: '#3085d6',// 确认按钮颜色
                cancelButtonColor: '#d33',// 取消按钮颜色
                confirmButtonText: '确定修改',
                cancelButtonText: '取消',
                customClass: {
                    popup: 'custom-swal-popup' // 添加自定义样式类
                }
            }).then((result) => { // fire方法返回一个Promise对象，当对话框关闭时，这个Promise会被解决，并返回一个结果对象。.then方法用于处理这个结果对象。
                if (result.isConfirmed) {// 检查用户是否点击了确认按钮
                    $("#userForm").submit(); // 提交表单
                }
            });
        }

    });
});